home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Interactive 7
/
PC World Interactive 7.iso
/
program
/
pasprog.EXE
/
KARAKTER.TXT
< prev
next >
Wrap
Text File
|
1980-01-10
|
4KB
|
59 lines
┌──────────────────────────────────────────────────────────────────────────┐
│┌────────────────────────────────────────────────────────────────────────┐│
││ ││
││ KARAKTER EDITOR ││
││ ││
│└────────────────────────────────────────────────────────────────────────┘│
│ PS 31 · ₧ubat'96 Cenk Tarhan │
└──────────────────────────────────────────────────────────────────────────┘
Merhaba, Program Sanatçìlarì...
Bu seferki program, Turbo Pascal 6.0 ile yazìlmìƒ ve grafik ekranìnda çalìƒan
bir karakter tanìmlama programì. Pascal ile program yapan okuyucularìmìzìn
oldukça iƒine yarayacaºìnì umduºum bu program yardìmì ile grafik ekranìndaki
karakterleri dilediºiniz gibi deºiƒtirebiliyor, kendi karakter setinizi
oluƒturabiliyorsunuz. Bu iƒlem sadece ASCII deºeri 128 ile 255 arasìnda olan
karakterler ve Pascal'ìn "Defaultfont" fontu için geçerli. ₧u anda "kaydet"
seçeneºini kullanìnca program sadece o anki karakter tablosunu C: sürücüsünün
"root" rehberine "karakter.tan" adlì bir dosya olarak kaydediyor. Kodu biraz
inceleyerek ve programì istediºiniz gibi deºiƒtirerek deºiƒik isimler altìnda
deºiƒik karakter tablolarì oluƒturup bunlarì diske kaydedebilir ve
istediºiniz zaman Pascal programlarìnìzìn içerisinde kullanabilirsiniz.
₧imdi programìn iƒleyiƒine bir deºinelim. Pascal, Defaultfont ile
karakterleri grafik ekranìnda görüntülerken ASCII 128 ve ASCII 255 arasìndaki
karakterlerin bilgisini sistem belleºinden almaktadìr. Bu yüzden de, bu
belleºin içeriºini deºiƒtirerek karakterlerin görünüƒlerini deºiƒtirmek
mümkündür. Bu programda ASCII 128 ile ASCII 255 arasìndaki 8*8'lik
karakterlerin bilgileri sìralì olarak "karakterler" adìnda 1024 bayt
uzunluºunda bir "array" içerisinde tutulmaktadìr. Bu array'ìn her elemanì bir
karakterin 8 bit'ine yani bir sìrasìna eƒittir. Bunu bir örnekle açmak
istiyorum. Örneºin "büyük eƒit" iƒaretini ele alalìm. Bu iƒaretin karakter
tablosundaki yeri ASCII 242'dir. Ve bu karakteri tanìmlayan 8 bayt da
karakterler array'inde sìrasìyla 912, 913, 914, 915, 916, 917, 918 ve
919'uncu baytlarìdìr. Bu baytlarì bit seviyesinde inceleresek, karakterlerin
açìk bölümlerinin 1 kapalì bölümlerinin de 0 olduºu görülür. Yani, büyük
eƒittir iƒareti aƒaºìdaki tablodaki gibi tanìmlanmìƒtìr.
01100000 bayt deºeri: 60 array içerisindeki yeri: 912
00110000 bayt deºeri: 48 array içerisindeki yeri: 913
00011000 bayt deºeri: 24 array içerisindeki yeri: 914
00110000 bayt deºeri: 48 array içerisindeki yeri: 915
01100000 bayt deºeri: 60 array içerisindeki yeri: 916
00000000 bayt deºeri: 0 array içerisindeki yeri: 917
11111100 bayt deºeri: 252 array içerisindeki yeri: 918
00000000 bayt deºeri: 0 array içerisindeki yeri: 919
Görüldüºü gibi gerekli array elemanìnì deºiƒtirerek istediºiniz tipte 8*8
bitmap karakterler oluƒturabilirsiniz. Zaten program da bunu yapmaktadìr.
Sadece ufak bir editör yardìmì ile karakterlerin seçimi ve deºiƒtirilmesi
kolaylaƒtìrìlmìƒ ve bir de karakter tablosunu kaydetmek, yüklemek seçenekleri
eklenmiƒtir. Karakter tablosunu kaydetmek de aslìnda karakterlerler
array'inin içeriºini diske yazmak ve Karakter tablosunu yüklemek de diskten
daha önce yazìlmìƒ sayìlarì okuyup bu sayìlarì direkt olarak array'in içine
yazdìrmaktìr.